package com.amoyt.project.domain.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 项目审批结果明细表（支持驳回后重新从低级审批）
 * </p>
 *
 * @author AmoyT
 * @since 2025-08-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(description = "项目审批结果明细表")
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ProjectApprovalResultVo implements Serializable {

  private static final long serialVersionUID = 1L;


  @Schema(description = "当前-审批级别（town-乡镇/region-县区等）")
  private String approvalLevel;

  @Schema(description = "当前-审批人id")
  private String approverId;

  @Schema(description = "审批人姓名")
  private String approverName;

  @Schema(description = "当前-审批时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime approvalTime;

  @Schema(description = "当前-审批结果（pass-通过/reject-驳回）")
  private String approvalResult;

  @Schema(description = "当前-审批意见")
  private String approvalRemark;

  @Schema(description = "创建人（系统自动记录为审批人）")
  private String createBy;

  @Schema(description = "记录创建时间")
  private LocalDateTime createTime;

  @Schema(description = "状态 0-无效，1有效")
  private Integer status;

  @Schema(description = "审批顺序，数字越大，越靠后")
  private Integer order;
}
